package main.java.br.com.projeto.application.ui.converters;

import javax.faces.component.UIComponent;
import javax.faces.context.FacesContext;
import javax.faces.convert.Converter;
import javax.faces.convert.ConverterException;
import javax.faces.convert.FacesConverter;

import main.java.br.com.projeto.domain.entity.CondicaoPagamento;

@FacesConverter(value="condicaoPagamentoConverter")
public class CondicaoPagamentoConverter implements Converter{

	@Override
	public Object getAsObject(FacesContext context, UIComponent component,
			String value) throws ConverterException {
		if ( value.equals("null") || value.trim().equals("") )
		{
			return null;
		}
		else
		{
			CondicaoPagamento condicaoPagamento = ( CondicaoPagamento ) component.getAttributes().get("value"+value);
			
			if ( condicaoPagamento != null && value.equals(condicaoPagamento.getCondicaoPagamento() ) )
			{
				return condicaoPagamento;
			}
			else
			{
				condicaoPagamento = new CondicaoPagamento();
				condicaoPagamento.setCondicaoPagamento( value );
				
				return condicaoPagamento;
			}
		}
	}

	@Override
	public String getAsString(FacesContext context, UIComponent component,
			Object value) throws ConverterException {

		if ( value == null )
		{
			return null;
		}
		else if ( value instanceof CondicaoPagamento )
		{
			component.getAttributes().put("value"+((CondicaoPagamento) value).getCondicaoPagamento(), value);
			return ((CondicaoPagamento) value).getCondicaoPagamento();
		}
		else
		{
			return String.valueOf( value );
		}
	}
}
